Lightweight Directory Access Protocol (LDAP) is a set of protocols generally used for accessing information directories on LDAP servers. Oftentimes it is critical for certain applications be able to perform LDAP searches quickly against a target LDAP server. As the size and complexity of data stored in an information directory increases, the time required to search and retrieve data from the information directory tends to increase, however. One way to increase search efficiency is to index LDAP attributes that are searched, although in large information directories it is not practical to index all possible search attributes. Thus, system administrators typically index only those attributes that are commonly searched.
LDAP server vendors provide little direct pragmatic assistance in determining the specific search attributes that should be indexed in order to optimize search performance. Many such vendors instead describe procedures for semi-manually identifying commonly searched attributes. Such procedures typically implement logging features to record performance data on each individual search. A server administrator then can visually scan the logs to identify repeatedly slow searches, and then tune the LDAP server to improve performance for commonly used search templates. Such searches usually become hampered both by the large amounts of data storage needed to separately log each individual search and the time that is needed for logging performance data. Moreover, a high level of human intervention also is required.